<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<!-- Mirrored from www.wolfssl.com/wolfSSL/Docs-wolfssl-csharp-manual.html by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 17 Jan 2017 13:28:26 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=UTF-8" /><!-- /Added by HTTrack -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="Generator" content="iWeb 3.0.4"/>
<meta name="iWeb-Build" content="local-build-20170103"/>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
<meta name="viewport" content="width=770"/>
<title>wolfSSL - Docs | wolfSSL C# Manual</title>
<link rel="stylesheet" type="text/css" media="screen,print" href="Docs-wolfssl-csharp-manual_files/Docs-wolfssl-csharp-manual.css"/>
<!--[if lt IE 8]><link rel='stylesheet' type='text/css' media='screen,print' href='Docs-wolfssl-csharp-manual_files/Docs-wolfssl-csharp-manualIE.css'/><![endif]-->
<!--[if gte IE 8]><link rel='stylesheet' type='text/css' media='screen,print' href='Media/IE8.css'/><![endif]-->
<script type="text/javascript" src="Scripts/iWebSite.js"></script>
<script type="text/javascript" src="Scripts/iWebImage.js"></script>
<script type="text/javascript" src="Docs-wolfssl-csharp-manual_files/Docs-wolfssl-csharp-manual.js"></script>
<meta name="description" content="wolfSSL C# Manual explains how to build and use the wolfSSL C# wrapper giving .NET applications support for current SSL/TLS standards up to TLS 1.2 and DTLS 1.2."/><meta name="keywords" content="java ssl, jni ssl, cyassl jni, openssl jni, java dtls, embedded ssl, ssl library, embedded web server, openssl alternative, openssl replacement, cyassl, stream ciphers ssl, aes-ni ssl, dtls, mysql ssl, portable ssl, ssl portable, portable tls, small openssl, smart grid, connected home, ecc, lightweight ssl, suite b, encryption security software, ssl inspection"/><meta name="robots" content="follow,index"/> <script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','../../www.google-analytics.com/analytics.js','ga');ga('create','UA-64826966-1','auto');ga('send','pageview');</script>
 
<script>//<![CDATA[
window.zEmbed||function(e,t){var n,o,d,i,s,a=[],r=document.createElement("iframe");window.zEmbed=function(){a.push(arguments)},window.zE=window.zE||window.zEmbed,r.src="javascript:false",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="display: none",d=document.getElementsByTagName("script"),d=d[d.length-1],d.parentNode.insertBefore(r,d),i=r.contentWindow,s=i.document;try{o=s}catch(c){n=document.domain,r.src='javascript:var d=document.open();d.domain="'+n+'";void(0);',o=s}o.open()._l=function(){var o=this.createElement("script");n&&(this.domain=n),o.id="js-iframe-async",o.src=e,this.t=+new Date,this.zendeskHost=t,this.zEQueue=a,this.body.appendChild(o)},o.write('<body onload="document._l();">'),o.close()}("../../assets.zendesk.com/embeddable_framework/main.js","wolfssl.zendesk.com");
//]]></script>
  </head>
<body style="background: rgb(255, 255, 255); margin: 0pt; " onload="onPageLoad();">
<div style="text-align: center; ">
<div style="margin-bottom: 20px; margin-left: auto; margin-right: auto; margin-top: 20px; overflow: hidden; position: relative; word-wrap: break-word;  background: rgb(255, 255, 255); text-align: left; width: 770px; " id="body_content">
<div style="float: left; margin-left: 0px; position: relative; width: 770px; z-index: 0; " id="nav_layer">
<div style="height: 0px; line-height: 0px; " class="bumper"> </div>
<div style="clear: both; height: 0px; line-height: 0px; " class="spacer"> </div>
</div>
<div style="float: left; height: 0px; line-height: 0px; margin-left: 0px; position: relative; width: 770px; z-index: 10; " id="header_layer">
<div style="height: 0px; line-height: 0px; " class="bumper"> </div>
</div>
<div style="margin-left: 0px; position: relative; width: 770px; z-index: 5; " id="body_layer">
<div style="height: 0px; line-height: 0px; " class="bumper"> </div>
<div id="id1" style="height: 38px; left: 375px; position: absolute; top: 157px; width: 361px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_361_38" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style">wolfSSL C# Manual</p>
</div>
</div>
</div>
<div id="id2" style="height: 4507px; left: 35px; position: absolute; top: 246px; width: 701px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_701_4507" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-top: 0pt; " class="paragraph_style_1">Table of Contents<span class="style"><br/></span></p>
<p class="paragraph_style_2"><br/></p>
<ol>
<li style="line-height: 15px; padding-left: 30px; text-indent: -24px; " class="full-width" value="1">
<p style="text-indent: -24px; " class="paragraph_style_3"><span style="font-size: 12px; " class="Bullet">1.</span><span style="width: 14px; " class="inline-block"></span>Introduction<br/></p>
</li>
<li style="line-height: 15px; padding-left: 30px; text-indent: -24px; " class="full-width" value="2">
<p style="text-indent: -24px; " class="paragraph_style_3"><span style="font-size: 12px; " class="Bullet">2.</span><span style="width: 14px; " class="inline-block"></span>Installation<br/></p>
</li>
<li style="line-height: 15px; padding-left: 30px; text-indent: -24px; " class="full-width" value="3">
<p style="text-indent: -24px; " class="paragraph_style_3"><span style="font-size: 12px; " class="Bullet">3.</span><span style="width: 14px; " class="inline-block"></span>Example Server<br/></p>
</li>
<li style="line-height: 15px; padding-left: 30px; text-indent: -24px; " class="full-width" value="4">
<p style="text-indent: -24px; " class="paragraph_style_3"><span style="font-size: 12px; " class="Bullet">4.</span><span style="width: 14px; " class="inline-block"></span>Extra<br/></p>
</li>
<li style="line-height: 15px; padding-left: 30px; text-indent: -24px; " class="full-width" value="5">
<p style="text-indent: -24px; " class="paragraph_style_3"><span style="font-size: 12px; " class="Bullet">5.</span><span style="width: 14px; " class="inline-block"></span>Troubleshooting<br/></p>
</li>
<li style="line-height: 15px; padding-left: 30px; text-indent: -24px; " class="full-width" value="6">
<p style="text-indent: -24px; " class="paragraph_style_3"><span style="font-size: 12px; " class="Bullet">6.</span><span style="width: 14px; " class="inline-block"></span>License<br/></p>
</li>
<li style="line-height: 15px; padding-left: 30px; text-indent: -24px; " class="full-width" value="7">
<p style="text-indent: -24px; " class="paragraph_style_3"><span style="font-size: 12px; " class="Bullet">7.</span><span style="width: 14px; " class="inline-block"></span>Support<br/></p>
</li>
<li style="line-height: 15px; padding-left: 30px; text-indent: -24px; " class="full-width" value="8">
<p style="text-indent: -24px; " class="paragraph_style_3"><span style="font-size: 12px; " class="Bullet">8.</span><span style="width: 14px; " class="inline-block"></span>References<br/></p>
</li>
</ol>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_1">1.0  Introduction<br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_2">The C# wrapper for wolfSSL is a way for C# developers to easily integrate wolfSSL TLS/DTLS functionality into their product. It contains wrappers for the functions needed to open and maintain a TLS or DTLS connection with the option of using PSK.<br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_2">As this interface wraps around the native wolfSSL (wolfSSL) library, this document should be used together with the <a title="Docs-wolfssl-manual-toc.html" href="Docs-wolfssl-manual-toc.html">wolfSSL Manual</a>.<br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_1">2.0  Installation<br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_4">2.1 Dependencies<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">It is required to have the wolfSSL DLL library. This is automatically built with the Visual Studio project wolfssl/wrapper/CSharp/wolfSSL_CSharp.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">First is to set up the build option used, click BUILD-&gt;Configuration Manager… In the top left change to prefered Active solution configuration, either DLL Debug or DLL Release and then select the Active solution platform being built on either 32bit(Win32) or 64bit(x64) machine. In the first screenshot it was built on a 64bit OS.<br/></p>
<p class="paragraph_style_5"><br/></p>
<div class="paragraph paragraph_style_5"><div style="height: 428px; width: 674px;  height: 428px; position: relative; width: 674px; " class="tinyText style_SkipStroke_1 inline-block stroke_0"><img src="Docs-wolfssl-csharp-manual_files/droppedImage.jpg" alt="" style="border: none; height: 428px; width: 674px; "/></div><br/></div>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">For a 32bit system it would look like the following screenshot.<br/></p>
<p class="paragraph_style_5"><br/></p>
<div class="paragraph paragraph_style_5"><div style="height: 446px; width: 649px;  height: 446px; position: relative; width: 649px; " class="tinyText style_SkipStroke_1 inline-block stroke_1"><img src="Docs-wolfssl-csharp-manual_files/droppedImage_1.jpg" alt="" style="border: none; height: 446px; width: 649px; "/></div><br/></div>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">After setting up the build options a preprocessor flag HAVE_CSHARP needs to be added. These flags can be adjusted by right clicking on wolfssl/wolfssl project in Visual Studio. Selecting properties then expanding C/C++ and opening Preprocessor option. Click the down arrow next to Preprocessor Definitions and select edit.<br/></p>
<p class="paragraph_style_5"><br/></p>
<div class="paragraph paragraph_style_5"><div style="height: 499px; width: 692px;  height: 499px; position: relative; width: 692px; " class="tinyText style_SkipStroke_1 inline-block stroke_2"><img src="Docs-wolfssl-csharp-manual_files/droppedImage_2.jpg" alt="" style="border: none; height: 499px; width: 693px; "/></div><br/></div>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">To compile and use this interface, users must have Java installed on the development machine.  Prior to compiling the JNI wrapper, the wolfSSL library must be compiled and installed in a location which can be found by the JNI wrapper. This release of the Java wrapper has been tested against wolfSSL 3.7.0.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_4">2.2 Building C# Wrapper<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">To build the wolfSSL library, the CSharp wrapper, and examples, click BUILD-&gt;Build Solution. This will create a wolfssl.dll and wolfSSL_CSharp.dll in a created DLL Release or DLL Debug folder depending on which DLL option was selected. The new folder created with the build of wolfSSL can be found in the wolfssl/wrapper/CSharp directory. Note that on 64bit builds it will put this directory into the folder x64.<br/></p>
<p class="paragraph_style_5"><br/></p>
<div class="paragraph paragraph_style_5"><div style="height: 522px; width: 692px;  height: 522px; position: relative; width: 692px; " class="tinyText style_SkipStroke_1 inline-block stroke_3"><img src="Docs-wolfssl-csharp-manual_files/droppedImage_3.jpg" alt="" style="border: none; height: 522px; width: 693px; "/></div><br/></div>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_1">3.0  Example Server<br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_5">There are a couple of example servers included; TLS, DTLS, and another two with each using PSK. Building of each example can be done in a similar fashion as above. All examples will create an exe file to then run, and the server will be bound to 0.0.0.0 allowing any IP to connect. Since allowing any IP to connect a firewall warning could pop up this is expected and for testing from external connections click allow.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">If testing the connection from a linux type system using the C wolfSSL client examples make sure the library on the linux system has been built with configuration options to have DTLS and PSK.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">When building and testing the example IO callbacks the suite used is a static PSK one. To be able to use static PSK suites wolfSSL will need to be built with the preprocessor flag WOLFSSL_STATIC_PSK.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_1">4.0  Extra<br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_5">This is a list of some standard ways for using the created DLLs in custom projects other than provided examples. One way is by placing the created wolfSSL_CSharp.dll and wolfssl.dll in the directory C:\Windows\system. A second option of changing the environment variable path is available to allow for the loader to find the wolfssl and wolfSSL_CSharp DLLs. Finally a third option of just using the existing wolfSSL_CSharp solution and adding on to it in a similar fashion as the examples.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">C# wrapper logging errors can be set up with a function callback being passed to wolfSSL.SetLogging. An example of this can be seen in wolfSSL-TLS-Server.cs.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">Though the project uses preset call backs for reading and writing when a new CTX structure is created there is the option to set custom callbacks with the wolfssl.SetIORecv and wolfssl.SetIOSend. These functions require the input of the CTX structure to set and a function that fulfills the CallbackIORecv_delegate and CallbackIOSend_delegate requirements.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">Client connect has been added but not fully tested the server side was focused on.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_1">5.0  Troubleshooting<span class="style"><br/></span></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_5">- If you get the following error it is likely because of a mismatch in build architectures.<br/></p>
<p class="paragraph_style_5"><br/></p>
<div class="paragraph paragraph_style_5"><div style="height: 417px; width: 692px;  height: 417px; position: relative; width: 692px; " class="tinyText style_SkipStroke_1 inline-block stroke_4"><img src="Docs-wolfssl-csharp-manual_files/droppedImage_4.jpg" alt="" style="border: none; height: 417px; width: 693px; "/></div><br/></div>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">To fix make sure all build configurations are for the same architecture ie x64.<br/><br/></p>
<p class="paragraph_style_5">- If the application runs really quick and does not complete a connection check the path for loading in the certificate and key, also check that HAVE_CSHARP preprocessor is added to wolfssl.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5">- If you get the error unable to locate wolfSSL_CSharp.dll make sure to add reference to the created wolfSSL_CSharp.dll for the project. This can be done by right clicking on the project and selecting add reference. Then select solution-&gt;projects and chose wolfSSL_CSharp or by installing the created wolfssl.dll and wolfSSL_CSharp.dll.<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_1">6.0  License<span class="style"><br/></span></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_2">Like wolfSSL (CyaSSL), this package is dual licensed under both the GPLv2 as well as a standard commercial license.  Full license details can be found on the <a title="License.html" href="License.html">wolfSSL Licensing page</a>.  The GPLv2 license header included in the wolfSSL JNI download package is copied below:<br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_5"> * Copyright (C) 2006-2016 wolfSSL Inc.<br/></p>
<p class="paragraph_style_5"> *<br/></p>
<p class="paragraph_style_5"> * This file is part of wolfSSL.<br/></p>
<p class="paragraph_style_5"> *<br/></p>
<p class="paragraph_style_5"> * wolfSSL is free software; you can redistribute it and/or modify<br/></p>
<p class="paragraph_style_5"> * it under the terms of the GNU General Public.start(); License as published by<br/></p>
<p class="paragraph_style_5"> * the Free Software Foundation; either version 2 of the License, or<br/></p>
<p class="paragraph_style_5"> * (at your option) any later version.<br/></p>
<p class="paragraph_style_5"> *<br/></p>
<p class="paragraph_style_5"> * wolfSSL is distributed in the hope that it will be useful,<br/></p>
<p class="paragraph_style_5"> * but WITHOUT ANY WARRANTY; without even the implied warranty of<br/></p>
<p class="paragraph_style_5"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br/></p>
<p class="paragraph_style_5"> * GNU General Public License for more details.<br/></p>
<p class="paragraph_style_5"> *<br/></p>
<p class="paragraph_style_5"> * You should have received a copy of the GNU General Public License<br/></p>
<p class="paragraph_style_5"> * along with this program; if not, write to the Free Software<br/></p>
<p class="paragraph_style_5"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA<br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_5"><br/></p>
<p class="paragraph_style_1">7.0  Support<span class="style"><br/></span></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_2">Please send questions or comments to wolfSSL at <a title="mailto:support@wolfssl.com" href="https://www.wolfssl.com/cdn-cgi/l/email-protection#2b585e5b5b44595f6b5c44474d58584705484446"><span class="__cf_email__" data-cfemail="c9babcb9b9a6bbbd89bea6a5afbabaa5e7aaa6a4">[email&#160;protected]</span><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script></a>.<br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_1">8.0  References<span class="style"><br/></span></p>
<p class="paragraph_style_2"><br/></p>
<p class="paragraph_style_2">wolfSSL Product Page: <a title="https://wolfssl.com/wolfSSL/Products-wolfssl.html" href="Products-wolfssl.html">https://wolfssl.com/wolfSSL/Products-wolfssl.html</a><br/></p>
<p class="paragraph_style_2">wolfSSL Documentation: <a title="https://wolfssl.com/wolfSSL/Docs.html" href="Docs.html">https://wolfssl.com/wolfSSL/Docs.html</a><br/></p>
<p class="paragraph_style_2">wolfSSL Manual: <a title="https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-toc.html" href="Docs-wolfssl-manual-toc.html">https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-toc.html</a><br/></p>
<p class="paragraph_style_2"><br/></p>
</div>
<div style="clear: both; height: 0px; line-height: 0px; " class="tinyText"> </div>
</div>
</div>
<div id="id3" style="height: 26px; left: 193px; position: absolute; top: 122px; width: 268px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_268_26" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_6"><a class="class1" title="Docs.html" href="Docs.html">Docs</a> <span class="style_1">-&gt;</span> <span class="style_2">wolfSSL JNI Manual</span></p>
</div>
</div>
</div>
<div style="height: 1px; width: 698px;  height: 1px; left: 37px; position: absolute; top: 220px; width: 698px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 698px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_1.jpg" alt="" style="height: 1px; left: 0px; position: absolute; top: 0px; width: 698px; "/>
</div>
</div>
<div style="height: 37px; width: 545px;  height: 37px; left: 191px; position: absolute; top: 80px; width: 545px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 545px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_2.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 545px; "/>
</div>
</div>
<div id="id4" style="height: 25px; left: 200px; position: absolute; top: 84px; width: 43px; z-index: 1; " class="style_SkipStroke_2 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_43_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_7"><a class="class2" title="Home.html" href="Home.html">Home</a></p>
</div>
</div>
</div>
<div id="id5" style="height: 25px; left: 365px; position: absolute; top: 84px; width: 72px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_72_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_8"><a class="class3" title="https://wolfssl.com/wolfSSL/download/downloadForm.php" href="https://wolfssl.com/wolfSSL/download/downloadForm.php">Download</a></p>
</div>
</div>
</div>
<div id="id6" style="height: 25px; left: 439px; position: absolute; top: 84px; width: 59px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_59_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_8"><a class="class4" title="License.html" href="License.html">License</a></p>
</div>
</div>
</div>
<div id="id7" style="height: 25px; left: 499px; position: absolute; top: 84px; width: 44px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_44_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_8"><a class="class5" title="Blog/Blog.html" href="Blog/Blog.html">Blog</a></p>
</div>
</div>
</div>
<div id="id8" style="height: 25px; left: 589px; position: absolute; top: 84px; width: 80px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_80_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_8"><a class="class6" title="Community.html" href="Community.html">Community</a></p>
</div>
</div>
</div>
<div style="height: 36px; width: 1px;  height: 36px; left: 245px; position: absolute; top: 81px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_3.png" alt="" style="height: 36px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 37px; width: 1px;  height: 37px; left: 296px; position: absolute; top: 80px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_4.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 36px; width: 1px;  height: 36px; left: 363px; position: absolute; top: 81px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_5.png" alt="" style="height: 36px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 36px; width: 1px;  height: 36px; left: 438px; position: absolute; top: 81px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_6.png" alt="" style="height: 36px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 37px; width: 1px;  height: 37px; left: 498px; position: absolute; top: 80px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_7.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div style="height: 37px; width: 1px;  height: 37px; left: 589px; position: absolute; top: 80px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_8.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div id="id9" style="height: 25px; left: 671px; position: absolute; top: 84px; width: 61px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_61_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_8"><a class="class7" title="Contact.html" href="Contact.html">Contact</a></p>
</div>
</div>
</div>
<div id="id10" style="height: 25px; left: 249px; position: absolute; top: 84px; width: 44px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_44_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_7"><a class="class8" title="About.html" href="About.html">About</a></p>
</div>
</div>
</div>
<div style="height: 36px; width: 1px;  height: 36px; left: 670px; position: absolute; top: 81px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_9.png" alt="" style="height: 36px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div id="id11" style="height: 25px; left: 298px; position: absolute; top: 84px; width: 63px; z-index: 1; " class="style_SkipStroke_2 shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_63_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_8"><a class="class9" title="Products.html" href="Products.html">Products</a></p>
</div>
</div>
</div>
<div id="id12" style="height: 25px; left: 549px; position: absolute; top: 84px; width: 41px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_41_25" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_7"><a class="class10" title="Docs.html" href="Docs.html">Docs</a></p>
</div>
</div>
</div>
<div style="height: 37px; width: 1px;  height: 37px; left: 545px; position: absolute; top: 80px; width: 0px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 0px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_10.png" alt="" style="height: 37px; left: 0px; position: absolute; top: 0px; width: 1px; "/>
</div>
</div>
<div id="id13" style="height: 27px; left: 59px; position: absolute; top: 190px; width: 196px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_196_27" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_9"><a class="class11" title="https://www.wolfssl.com/documentation/wolfSSL-CSharp-Manual.pdf" href="https://www.wolfssl.com/documentation/wolfSSL-CSharp-Manual.pdf">Download wolfSSL C# Manual (PDF)</a></p>
</div>
</div>
</div>
<div style="height: 22px; width: 22px;  height: 22px; left: 33px; position: absolute; top: 191px; width: 22px; z-index: 1; " class="tinyText style_SkipStroke_3">
<img src="Docs-wolfssl-csharp-manual_files/PDF.png" alt="" style="border: none; height: 22px; width: 22px; "/>
</div>
<div style="height: 16px; width: 20px;  height: 16px; left: 706px; position: absolute; top: 51px; width: 20px; z-index: 1; " class="tinyText">
<div style="position: relative; width: 20px; ">
<img src="Docs-wolfssl-csharp-manual_files/shapeimage_11.png" alt="" style="height: 16px; left: 0px; position: absolute; top: 0px; width: 20px; "/>
</div>
</div>
<div style="height: 19px; width: 19px;  height: 19px; left: 707px; position: absolute; top: 25px; width: 19px; z-index: 1; " class="tinyText style_SkipStroke_3">
<img src="Docs-wolfssl-csharp-manual_files/United%20Kingdom(Great%20Britain).png" alt="" style="border: none; height: 19px; width: 19px; "/>
</div>
<div id="id14" style="height: 23px; left: 328px; position: absolute; top: 48px; width: 258px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_258_23" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_10">Questions? +1 (425) 245-8247</p>
</div>
</div>
</div>
<div style="height: 19px; width: 19px;  height: 19px; left: 685px; position: absolute; top: 25px; width: 19px; z-index: 1; " class="tinyText style_SkipStroke_3">
<a href="http://www.wolfssl.jp/" title="http://www.wolfssl.jp"><img src="Docs-wolfssl-csharp-manual_files/japan.png" alt="" style="border: none; height: 19px; width: 19px; "/></a>
</div>
<div id="id15" style="height: 28px; left: 593px; position: absolute; top: 44px; width: 119px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_119_28" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_11"><a class="class12" title="https://www.wolfssl.com/forums" href="https://www.wolfssl.com/forums">Support <span class="style_3">Forums</span></a></p>
</div>
</div>
</div>
<div style="height: 121px; width: 155px;  height: 121px; left: 32px; position: absolute; top: 5px; width: 155px; z-index: 1; " class="tinyText style_SkipStroke_3">
<a href="Home.html" title="Home.html"><img src="Docs-wolfssl-csharp-manual_files/wolfssl_logo.png" alt="" style="border: none; height: 121px; width: 156px; "/></a>
</div>
<div style="height: 4753px; line-height: 4753px; " class="spacer"> </div>
</div>
<div style="height: 100px; margin-left: 0px; position: relative; width: 770px; z-index: 15; " id="footer_layer">
<div style="height: 0px; line-height: 0px; " class="bumper"> </div>
<div id="id16" style="height: 29px; left: 35px; position: absolute; top: 28px; width: 701px; z-index: 1; " class="style_SkipStroke shape-with-text">
<div class="text-content graphic_textbox_layout_style_default_External_701_29" style="padding: 0px; ">
<div class="graphic_textbox_layout_style_default">
<p style="padding-bottom: 0pt; padding-top: 0pt; " class="paragraph_style_12">Copyright 2017 wolfSSL Inc.  All rights reserved.</p>
</div>
</div>
</div>
</div>
</div>
</div>
 <script type="text/javascript">/* <![CDATA[ */(function(d,s,a,i,j,r,l,m,t){try{l=d.getElementsByTagName('a');t=d.createElement('textarea');for(i=0;l.length-i;i++){try{a=l[i].href;s=a.indexOf('/cdn-cgi/l/email-protection');m=a.length;if(a&&s>-1&&m>28){j=28+s;s='';if(j<m){r='0x'+a.substr(j,2)|0;for(j+=2;j<m&&a.charAt(j)!='X';j+=2)s+='%'+('0'+('0x'+a.substr(j,2)^r).toString(16)).slice(-2);j++;s=decodeURIComponent(s)+a.substr(j,m-j)}t.innerHTML=s.replace(/</g,'&lt;').replace(/>/g,'&gt;');l[i].href='mailto:'+t.value}}catch(e){}}}catch(e){}})(document);/* ]]> */</script></body>

<!-- Mirrored from www.wolfssl.com/wolfSSL/Docs-wolfssl-csharp-manual.html by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 17 Jan 2017 13:28:53 GMT -->
</html>
